-
Tags:
Dégâts biologiquesSoin biologique -
Name:
aLifeRay
-
Displayed name:
Rayon de vie
-
Description:
Un rayon d'énergie vitale vous relie à une créature, et la vie s'écoule le long de ce lien : vous pouvez la puiser en elle, ou lui céder la vôtre. Chaque PdV perdu par l'une des deux extrémités du rayon rend 1 PdV à l'autre.
-
Cast description:
| PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Portée: vRange.string** | Sur un test de **vTest.string** réussi **RM vMR.string** [1d20]: Un rayon de vie vous relie à la cible. @if vDirection.value == 1 then [[La cible subit vDamage.string [vDamage.string] dégâts biologiques, et vous récupérez 1 PdV biologique par PdV qu'elle perd.]] else [[Vous subissez vDamage.string [vDamage.string] dégâts biologiques, et la cible récupère 1 PdV biologique par PdV que vous perdez.]] end Tous les 2 PdV soignés au-delà du maximum, la créature soignée gagne 1 Extra PdV. *La cible peut réagir à cette action avec sa réaction Résister pour en annuler les effets.*
-
Condition:
assert(character.sFlux.current >= vFluxCost.value, [[Vous n'avez pas assez de Flux.]]) -
AP cost:
3
-
Cooldown:
0
-
Flux cost:
apMod(vAP)*cdMod(vCD)*targetMod(1,0)*puncMod(0,1)*vRange*reacSave*cancelOnSave*effect(vDamage*65*1.5,60) -
Variables:
vRange = ListVariable([[vRange]], [[Portée]], {[[mediumMod]]}, {[[10 m]]}) vTest = ListVariable([[vTest]], [[Test]], {[[character.sResilience]]}, {[[Résilience]]}) vMR = StatVariable([[vMR]], [[vTest]]) vDamage = NumberVariable([[vDamage]], [[Dés de dégâts]], [[1]], [[10]], [[1]]) vDamage.valueDisplay.value = [[ self .. "d8" ]] vDirection = ListVariable([[vDirection]], [[Sens du rayon]], {[[1]], [[2]]}, {[[Drainer la cible]], [[Soigner la cible]]}) -
On used script:
character.sFlux:changeCurrent(-vFluxCost.value) -
On post script:
if (success) then action.currentCD.value = vCD.value end -
Type:
1
-
Action effects:
-
Use case:
(1*number(vDirection.value==1)+3*number(vDirection.value==2))*number(vLifeDrained.value>0)
-
Name:
Rayon de vie
-
Description:
Indiquez les PdV réellement perdus : l'autre extrémité du rayon récupère autant de PdV biologiques, et gagne 1 Extra PdV par tranche de 2 PdV soignés au-delà de son maximum.
-
Script:
lifeRayHeal = {{vLifeDrained.value}} lifeRayMissing = math.max(character.sMaxHP.current - character.sHP.current, 0) if (math.min(lifeRayHeal, lifeRayMissing) > 0) then character:damage(-math.min(lifeRayHeal, lifeRayMissing), 1, [[Biologic]]) end lifeRayExtra = math.floor(math.max(lifeRayHeal - lifeRayMissing, 0) / 2) if (lifeRayExtra > 0) then character.sExtraHP:changeCurrent(lifeRayExtra) end -
Variables:
vLifeDrained = NumberVariable([[vLifeDrained]], [[PdV perdus]], [[0]], [[vDamage.value*8]], [[1]])
-